implementation-defined behavior(实现定义行为):在编程语言标准中,某些行为由具体实现(如编译器、标准库、目标平台)来决定,但实现方必须明确说明其选择(通常在文档中),以便程序员能够查到并依赖它。常见于 C/C++ 等语言标准的术语。(不同于 undefined behavior,后者不要求实现说明,结果也不可预测。)
/ˌɪmplɪmenˈteɪʃən dɪˈfaɪnd bɪˈheɪvjər/
The size of int is often implementation-defined.
int 的大小通常属于实现定义行为。
Whether char is signed or unsigned is implementation-defined, so portable code should not assume either.
char 是有符号还是无符号属于实现定义行为,因此可移植代码不应假设其中任何一种。
该术语由三部分组成:implementation(实现)+ defined(被定义的)+ behavior(行为)。在 C/C++ 等标准文件中,它是一个规范性分类,用来说明:标准不统一规定细节,但要求各实现(编译器/平台)给出明确文档,从而在“灵活性”和“可移植性”之间折中。